package com.func.domain.strategy.service.rule.chain;

import com.func.domain.strategy.service.rule.chain.factory.DefaultLogicChainFactory;

/**
 * @ClassName ILogicChain
 * @Description 抽奖前规则责任链接口
 * @Author: func
 * @Date 2025/2/28 12:41
 * @Version 1.0
 */

public interface ILogicChain extends ILogicChainArmory{
    /**
     * 通过责任链执行一次抽奖
     *
     * @param strategyId 策略Id
     * @return 抽到的awardId
     */
    DefaultLogicChainFactory.StrategyAwardVO logic(String userId, Long strategyId);
}
